package day100.LC24;

public class Main {
    public static void main(String[] args) {

    }
}


//Definition for singly-linked list.
class ListNode {
    int val;
    ListNode next;
    ListNode() {}
    ListNode(int val) { this.val = val; }
    ListNode(int val, ListNode next) { this.val = val; this.next = next; }
}
class Solution {
    public ListNode swapPairs(ListNode head) {
        if (head == null || head.next==null) {
            return head;
        }
        ListNode dummyHead = new ListNode();
        dummyHead.next=head;
        ListNode currentNode=dummyHead;
        while (currentNode.next!=null && currentNode.next.next!=null){
            ListNode pre=currentNode.next;
            ListNode tail=pre.next;
            pre.next=tail.next;
            currentNode.next=tail;
            tail.next=pre;
            currentNode=pre;
        }
        return dummyHead.next;
    }

//    public ListNode swapNode(ListNode pre, ListNode tail) {
//        if (pre == null || tail == null) {
//            return pre;
//        }
//        ListNode temp=tail.next;
//        tail.next=pre;
//        pre.next=tail.next;
//        if (temp == null) {
//            return pre;
//        }
//        pre=temp;
//        tail=pre.next;
//        return swapNode(pre,tail);
//    }
}